#ifndef MODULES_CORE_IBEAN_H_
#define MODULES_CORE_IBEAN_H_

enum BeanKey {
	MODEL_SERIAL,
	MODEL_REPOSITORY,
	MODEL_MINI_MP3,
	MODEL_SLEEP,
	MODEL_WIFI,
	MODEL_MQTT,
	MODEL_HTTP,
	MODEL_CMD,
	MODEL_MOTOR,
	MODEL_AUDIO,
	MODEL_TEST,
	_end,
};

class IBean {
public:
	 virtual ~IBean() = default;

	virtual void prepare0() {
	}
	virtual void prepare() {
	}
	virtual void start() {
	}
	virtual void restart() {
	}
	virtual void close() {
	}
	virtual void loop() {
	}
	void ____injection_field(){};
	 void ____register_bean(){};
};

#endif /* MODULES_CORE_IBEAN_H_ */
